import { defineStore } from 'pinia'
import { roleApi } from '@/api/roles'

export const useRoleStore = defineStore('role', {
  state: () => ({
    roles: [], // 角色列表
    currentRole: null // 当前编辑的角色
  }),
  actions: {
    // 获取角色列表
    async getRoles(params) {
      const res = await roleApi.getRoles(params)
      this.roles = res.data.items
      return res.data
    },
    // 创建角色
    async createRole(data) {
      await roleApi.createRole(data)
      this.getRoles() // 重新获取列表
    },
    // 更新角色
    async updateRole(id, data) {
      await roleApi.updateRole(id, data)
      this.getRoles()
    },
    // 删除角色
    async deleteRole(id) {
      await roleApi.deleteRole(id)
      this.getRoles()
    },
    // 分配权限
    async assignPermissions(roleId, permissionIds) {
      await roleApi.assignPermissions(roleId, permissionIds)
    }
  }
})